package NowCoder.Recursive;
import java.util.*;

/**
 * HJ37 统计每个月兔子的总数
 * 简单  通过率：44.29%  时间限制：1秒  空间限制：32M
 * 知识点 查找 排序
 * warning 校招时部分企业笔试将禁止编程题跳出页面，为提前适应，练习时请使用在线自测，而非本地IDE。
 * 描述
 * 有一种兔子，从出生后第3个月起每个月都生一只兔子，小兔子长到第三个月后每个月又生一只兔子。
 * 例子：假设一只兔子第3个月出生，那么它第5个月开始会每个月生一只兔子。
 * 一月的时候有一只兔子，假如兔子都不死，问第n个月的兔子总数为多少？
 * 数据范围：输入满足 1≤n≤31
 * 输入描述：
 * 输入一个int型整数表示第n个月
 *
 * 输出描述：
 * 输出对应的兔子总数
 *
 * 示例1
 * 输入：
 * 3
 * 输出：
 * 2
 * https://www.nowcoder.com/practice/1221ec77125d4370833fd3ad5ba72395?tpId=37&tqId=21260&ru=/exam/oj
 */
public class 统计每个月兔子的总数_HJ37 {
    //TODO:请重新做这一道题
    public static void main(String[] args){
        Scanner scanner = new Scanner(System.in);

        while(scanner.hasNext()){
            int n = scanner.nextInt();
            System.out.println(beBorn(n));
        }
    }

    //首先，是一个兔子，他实际从出生到能生兔子需要两个月的生长时间
    //也就是第一个月，出生一个兔子的话，那么他在第三个月就可以开始每个月生一个兔子了
    public static int beBorn(int n){
        if(n == 1 || n == 2){
            return 1;
        }
        return beBorn(n - 1) + beBorn(n - 2);
    }
}
